home *** CD-ROM | disk | FTP | other *** search
/ Inter.Net 55-1 / Inter.Net 55-1.iso / CBuilder / Setup / BCB / data.z / dsdesign.hpp < prev    next >
Encoding:
C/C++ Source or Header  |  1998-02-09  |  6.8 KB  |  169 lines

  1. // Borland C++ Builder
  2. // Copyright (c) 1995, 1998 by Borland International
  3. // All rights reserved
  4.  
  5. // (DO NOT EDIT: machine generated header) 'DSDesign.pas' rev: 3.00
  6.  
  7. #ifndef DSDesignHPP
  8. #define DSDesignHPP
  9. #include <DRIntf.hpp>
  10. #include <Menus.hpp>
  11. #include <DsgnWnds.hpp>
  12. #include <DsnDBCst.hpp>
  13. #include <LibIntf.hpp>
  14. #include <DsgnIntf.hpp>
  15. #include <DBTables.hpp>
  16. #include <DBCtrls.hpp>
  17. #include <Db.hpp>
  18. #include <ExtCtrls.hpp>
  19. #include <StdCtrls.hpp>
  20. #include <Forms.hpp>
  21. #include <Controls.hpp>
  22. #include <Graphics.hpp>
  23. #include <Classes.hpp>
  24. #include <Messages.hpp>
  25. #include <SysUtils.hpp>
  26. #include <Windows.hpp>
  27. #include <SysInit.hpp>
  28. #include <System.hpp>
  29.  
  30. //-- user supplied -----------------------------------------------------------
  31.  
  32. namespace Dsdesign
  33. {
  34. //-- type declarations -------------------------------------------------------
  35. typedef bool __fastcall (__closure *TSelectionProc)(Db::TField* Field);
  36.  
  37. class DELPHICLASS TDatasetEditor;
  38. class PASCALIMPLEMENTATION TDatasetEditor : public Dsgnwnds::TDesignWindow 
  39. {
  40.     typedef Dsgnwnds::TDesignWindow inherited;
  41.     
  42. __published:
  43.     Extctrls::TPanel* Panel1;
  44.     Db::TDataSource* DataSource;
  45.     Menus::TPopupMenu* LocalMenu;
  46.     Menus::TMenuItem* AddItem;
  47.     Menus::TMenuItem* NewItem;
  48.     Menus::TMenuItem* N1;
  49.     Menus::TMenuItem* CutItem;
  50.     Menus::TMenuItem* CopyItem;
  51.     Menus::TMenuItem* PasteItem;
  52.     Menus::TMenuItem* DeleteItem;
  53.     Menus::TMenuItem* SelectAllItem;
  54.     Menus::TMenuItem* N2;
  55.     Menus::TMenuItem* RetrieveItem;
  56.     Menus::TMenuItem* UpdateItem;
  57.     Menus::TMenuItem* SaveAttributesAsItem;
  58.     Menus::TMenuItem* AssociateItem;
  59.     Menus::TMenuItem* Unassociate;
  60.     Stdctrls::TListBox* FieldListBox;
  61.     Dbctrls::TDBNavigator* DBNavigator;
  62.     void __fastcall FormCreate(System::TObject* Sender);
  63.     void __fastcall FormDestroy(System::TObject* Sender);
  64.     void __fastcall AddItemClick(System::TObject* Sender);
  65.     void __fastcall DeleteItemClick(System::TObject* Sender);
  66.     void __fastcall FieldListBoxDragOver(System::TObject* Sender, System::TObject* Source, int X, int Y
  67.         , Controls::TDragState State, bool &Accept);
  68.     void __fastcall FieldListBoxDragDrop(System::TObject* Sender, System::TObject* Source, int X, int Y
  69.         );
  70.     void __fastcall FieldListBoxKeyDown(System::TObject* Sender, Word &Key, Classes::TShiftState Shift)
  71.         ;
  72.     void __fastcall NewItemClick(System::TObject* Sender);
  73.     void __fastcall SelectTable(System::TObject* Sender);
  74.     void __fastcall FieldListBoxClick(System::TObject* Sender);
  75.     void __fastcall FieldListBoxKeyPress(System::TObject* Sender, char &Key);
  76.     void __fastcall ClearAllClick(System::TObject* Sender);
  77.     void __fastcall FieldListBoxStartDrag(System::TObject* Sender, Controls::TDragObject* &DragObject);
  78.         
  79.     void __fastcall SelectAllItemClick(System::TObject* Sender);
  80.     void __fastcall CutItemClick(System::TObject* Sender);
  81.     void __fastcall CopyItemClick(System::TObject* Sender);
  82.     void __fastcall PasteItemClick(System::TObject* Sender);
  83.     void __fastcall LocalMenuPopup(System::TObject* Sender);
  84.     void __fastcall RetrieveItemClick(System::TObject* Sender);
  85.     void __fastcall UpdateItemClick(System::TObject* Sender);
  86.     void __fastcall SaveAttributesAsItemClick(System::TObject* Sender);
  87.     void __fastcall AssociateItemClick(System::TObject* Sender);
  88.     void __fastcall UnassociateClick(System::TObject* Sender);
  89.     
  90. private:
  91.     Controls::TDragObject* FDragObject;
  92.     Db::TDataSetDesigner* FDSDesigner;
  93.     Forms::TCustomForm* FForm;
  94.     Db::TDataSet* FDataset;
  95.     int FFocusRectItem;
  96.     int FMinWidth;
  97.     int FMinHeight;
  98.     void __fastcall Copy(void);
  99.     void __fastcall CreateFields(Stdctrls::TListBox* FieldsList);
  100.     void __fastcall Cut(void);
  101.     void __fastcall MoveFields(int MoveOffset);
  102.     void __fastcall Paste(void);
  103.     void __fastcall RemoveFields(void);
  104.     void __fastcall SelectAll(void);
  105.     void __fastcall RestoreSelection(Stdctrls::TListBox* List, Classes::TStringList* &Selection, int ItemIndex
  106.         , int TopIndex, bool RestoreUpdate);
  107.     void __fastcall SaveSelection(Stdctrls::TListBox* List, Classes::TStringList* &Selection, int &ItemIndex
  108.         , int &TopIndex, bool NoUpdate);
  109.     void __fastcall SetDataset(Db::TDataSet* Value);
  110.     void __fastcall UpdateDisplay(void);
  111.     void __fastcall UpdateCaption(void);
  112.     void __fastcall UpdateFieldList(void);
  113.     void __fastcall UpdateSelection(void);
  114.     bool __fastcall ForEachSelection(TSelectionProc Proc);
  115.     void __fastcall GetTableDesc(System::AnsiString &ADatabase, System::AnsiString &ATable);
  116.     bool __fastcall FindFieldInfo(Db::TField* Field, Drintf::TFieldID &FieldID, Drintf::TAttrID &AttrID
  117.         );
  118.     void __fastcall GetFieldInfo(Db::TField* Field, Drintf::TFieldID &FieldID, Drintf::TAttrID &AttrID)
  119.         ;
  120.     bool __fastcall RetrieveAttributes(Db::TField* Field);
  121.     bool __fastcall SaveAttributes(Db::TField* Field);
  122.     bool __fastcall SaveAttributesAs(Db::TField* Field);
  123.     bool __fastcall AssociateAttributes(Db::TField* Field);
  124.     bool __fastcall UnassociateAttributes(Db::TField* Field);
  125.     bool __fastcall CheckAttribute(Db::TField* Field);
  126.     System::AnsiString __fastcall QualifyTableName(System::AnsiString DatabaseName, Dbtables::TDatabase* 
  127.         Database, const System::AnsiString TableName);
  128.     MESSAGE void __fastcall WMGetMinMaxInfo(Messages::TWMGetMinMaxInfo &Message);
  129.     
  130. protected:
  131.     DYNAMIC void __fastcall Activated(void);
  132.     virtual System::AnsiString __fastcall UniqueName(Classes::TComponent* Component);
  133.     
  134. public:
  135.     __fastcall virtual ~TDatasetEditor(void);
  136.     virtual void __fastcall ComponentDeleted(Classes::TComponent* Component);
  137.     virtual Libintf::TEditState __fastcall GetEditState(void);
  138.     virtual void __fastcall EditAction(Libintf::TEditAction Action);
  139.     virtual void __fastcall FormModified(void);
  140.     virtual void __fastcall SelectionChanged(Dsgnintf::TComponentList* ASelection);
  141.     __property Forms::TCustomForm* Form = {read=FForm, write=FForm};
  142.     __property Db::TDataSet* Dataset = {read=FDataset, write=SetDataset};
  143. public:
  144.     /* TDesignWindow.Create */ __fastcall virtual TDatasetEditor(Classes::TComponent* AOwner) : Dsgnwnds::
  145.         TDesignWindow(AOwner) { }
  146.     
  147. public:
  148.     /* TCustomForm.CreateNew */ __fastcall TDatasetEditor(Classes::TComponent* AOwner, int Dummy) : Dsgnwnds::
  149.         TDesignWindow(AOwner, Dummy) { }
  150.     
  151. public:
  152.     /* TWinControl.CreateParented */ __fastcall TDatasetEditor(HWND ParentWindow) : Dsgnwnds::TDesignWindow(
  153.         ParentWindow) { }
  154.     
  155. };
  156.  
  157. //-- var, const, procedure ---------------------------------------------------
  158. extern PACKAGE void __fastcall ShowDatasetDesigner(Dsgnintf::TFormDesigner* Designer, Db::TDataSet* 
  159.     ADataset);
  160. extern PACKAGE System::AnsiString __fastcall CreateUniqueName(Db::TDataSet* Dataset, const System::AnsiString 
  161.     FieldName, System::TMetaClass* FieldClass);
  162.  
  163. }    /* namespace Dsdesign */
  164. #if !defined(NO_IMPLICIT_NAMESPACE_USE)
  165. using namespace Dsdesign;
  166. #endif
  167. //-- end unit ----------------------------------------------------------------
  168. #endif    // DSDesign
  169.